package com.touchstone.cloudpacs.respone;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Description :硬件参数返回结果,内存，磁盘的大小单位为字节
 * @Author :djw
 * @Date :20:22 2020/2/17
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ServerParams {

    /**
     * 操作系统
     */
    private String operatingSystem;

    /**
     * 位数
     */
    private Integer bit;

    /**
     * 开机时间
     */
    private String openTime;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Network {

        /**
         * ipv4
         */
        private String ipv4;

        /**
         * ipv6
         */
        private String ipv6;

        /**
         * 发送速度
         */
        private Long send;

        /**
         * 接收速度
         */
        private Long receive;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Cpu {

        /**
         * 进程数
         */
        private Integer processCount;

        /**
         * 线程数
         */
        private Integer threadCount;

        /**
         * 占用率
         */
        private Double cpuUtilization;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Ram {

        /**
         * 已用空间
         */
        private Long ramUsed;

        /**
         * 总空间
         */
        private Long ramTotal;

        /**
         * 占用率
         */
        private Double ramUtilization;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Disk {

        /**
         * 已用空间
         */
        private Long diskUsed;

        /**
         * 总空间
         */
        private Long ramTotal;

        /**
         * 读取速度,每秒字节数
         */
        private Long readSpeed;

        /**
         * 写入速度，每秒字节数
         */
        private Long writeSpeed;
    }


}








